from lxml import etree
import requests 
import re
from pymongo import MongoClient

#连接数据库
client=MongoClient()
database=client['maoyan2']
db=database['mao']

#伪装浏览器
header={'User-Agent':'Chrome/55.0.2883.75 Safari/537.36'}
save_data=[]

for page in range(10):
	url='https://maoyan.com/board/4?offset='+str(page*10)
	base_url='https://www.maoyan.com'
	#获取网页源代码
	source=requests.get(url,headers=header)
	da=source.text
	#解析数据
	selector=etree.HTML(da)
	#获取图片url
	img_url=selector.xpath('//dd/a/img[2]/@data-src')
	
	#获取电影名字
	name=selector.xpath('//p[@class="name"]/a/text()')
	#获取主演信息
	actor=selector.xpath('//p[@class="star"]/text()')
	#获取上映时间
	time=selector.xpath('//p[@class="releasetime"]/text()')	
	#获取详情页链接
	link=selector.xpath('//p[@class="name"]/a/@href')
	
	#获取得分
	inter=selector.xpath('//p[@class="score"]/i[1]/text()')
	fra=selector.xpath('//p[@class="score"]/i[2]/text()')
	
	#获取排名
	rt= r'<dd>.*?board-index.*?>(.*?)</i>'
	p = re.compile(rt, re.S)#匹配规则
	rank = re.findall(p,da)
	#整合数据
	for i,j,k,l,m,n,p,b in zip(img_url,name,actor,time,link,inter,fra,rank):
		D={}
		D['电影排名']=b
		D['电影图片url']=i
		D['电影名字']=j
		D['电影主演']=k.strip()
		D['上映时间']=l.strip('上映时间：')
		D['详情链接']=base_url+m
		D['电影得分']=n+p
		save_data.append(D)
		
##保存到mongodb数据库当中
db.insert(save_data) 


